css: parse 'currentColor' for symbolic colors
authorBenjamin Otte <otte@redhat.com>
Sat, 14 Jan 2012 03:05:19 +0000 (04:05 +0100)
committerBenjamin Otte <otte@redhat.com>
Thu, 2 Feb 2012 02:13:38 +0000 (03:13 +0100)
gtk/gtkcssstylefuncs.c

index b46b9b0c9937c478ab6232de90dafe4f3e5d9f13..0045f939969880aa37ae7115767e529bba458179 100644 (file)
@@ -321,9 +321,16 @@ symbolic_color_value_parse (GtkCssParser *parser,
 {
   GtkSymbolicColor *symbolic;
 
-  symbolic = _gtk_css_parser_read_symbolic_color (parser);
-  if (symbolic == NULL)
-    return FALSE;
+  if (_gtk_css_parser_try (parser, "currentcolor", TRUE))
+    {
+      symbolic = gtk_symbolic_color_ref (_gtk_symbolic_color_get_current_color ());
+    }
+  else
+    {
+      symbolic = _gtk_css_parser_read_symbolic_color (parser);
+      if (symbolic == NULL)
+        return FALSE;
+    }
 
   g_value_take_boxed (value, symbolic);
   return TRUE;